home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / TEMP / GNU / bison / RpcalcGeo < prev    next >
Text File  |  1995-06-28  |  1KB  |  32 lines

  1. Rpcalc Gen
  2. Previous: <Rpcalc Error=>RpcalcErrp> * Next: <Rpcalc Compile=>RpcalcComq> * Up: <RPN Calc=>RPNCalc>
  3.  
  4. #Wrap on
  5. {fH4}Running Bison to Make the Parser{f}
  6.  
  7. Before running Bison to produce a parser, we need to decide how to arrange
  8. all the source code in one or more source files.  For such a simple example,
  9. the easiest thing is to put everything in one file.  The definitions of
  10. {fCode}yylex{f}, {fCode}yyerror{f} and {fCode}main{f} go at the end, in the
  11. ``additional C code'' section of the file (\*Note <Grammar Layout=>GrammarLay>: The Overall Layout of a Bison Grammar).
  12.  
  13. For a large project, you would probably have several source files, and use
  14. {fCode}make{f} to arrange to recompile them.
  15.  
  16. With all the source in a single file, you use the following command to
  17. convert it into a parser file:
  18.  
  19. #Wrap off
  20. #fCode
  21. bison {fStrong}file\_name{f}.y
  22. #f
  23. #Wrap on
  24.  
  25. In this example the file was called {fCite}rpcalc.y{f} (for ``Reverse Polish
  26. CALCulator'').  Bison produces a file named {fCite}{fStrong}file\_name{f}.tab.c{f},
  27. removing the {fEmphasis}.y{f} from the original file name. The file output by
  28. Bison contains the source code for {fCode}yyparse{f}.  The additional
  29. functions in the input file ({fCode}yylex{f}, {fCode}yyerror{f} and {fCode}main{f})
  30. are copied verbatim to the output.
  31.  
  32.